Import('freetypeEnv')
Import('options')
env = freetypeEnv.Copy()

CC = env['CC']
PLATFORM = env['PLATFORM']
if CC in ('cl', 'msvc', 'icc'):
    # xxx: we must find a way to get these defines throughout the system
    defines = ['WIN32', '_CONSOLE']
    defines += ['WITH_QUICKTIME']
    defines += ['_LIB', 'USE_OPENAL']
    defines += ['FTGL_LIBRARY_STATIC']
    env.Append(CCFLAGS=['/O2'])
    env.Append(CPPDEFINES = defines)
elif CC in ('gcc',):
    if PLATFORM == 'sunos':
        env.Append(CCFLAGS=['Xc', '-v', '-fast'])
    elif PLATFORM == 'darwin':
        env.Append(CCFLAGS=['-O2', '-pipe', '-fPIC', '-funsigned-char', '-ffast-math', '-mpowerpc', '-mtune=G4'])
    else:
        env.Append(CCFLAGS=['-O2', '-ansi'])
else:
    raise 'Unknown compiler'

sourceFiles = [
    'src/FTBitmapGlyph.cpp',
    'src/FTCharmap.cpp',
    'src/FTContour.cpp',
    'src/FTExtrdGlyph.cpp',
    'src/FTFace.cpp',
    'src/FTFont.cpp',
    'src/FTGLBitmapFont.cpp',
    'src/FTGLExtrdFont.cpp',
    'src/FTGLOutlineFont.cpp',
    'src/FTGLPixmapFont.cpp',
    'src/FTGLPolygonFont.cpp',
    'src/FTGLTextureFont.cpp',
    'src/FTGlyph.cpp',
    'src/FTGlyphContainer.cpp',
    'src/FTLibrary.cpp',
    'src/FTOutlineGlyph.cpp',
    'src/FTPixmapGlyph.cpp',
    'src/FTPoint.cpp',
    'src/FTPolyGlyph.cpp',
    'src/FTSize.cpp',
    'src/FTTextureGlyph.cpp',
    'src/FTVectoriser.cpp',
]
env.Append(CPPPATH=['include', 'src'])
env.Append(CPPPATH=env['FREETYPE_INCLUDE'])
env.Library(target='#$BUILD_DIR/lib/extern_ftgl', source=sourceFiles)
